ML有很多種演算法,像是linear method,decision tree,radial basis function,ensembles of tree...
但這邊主要著重在類神經演算法上.
類神經已經行之有年,但因為硬體計算上的瓶頸以及data數量的缺乏,早期只有一層hidden layer.早期的類神經在演算法上也有很多缺陷,例如多加一層hidden layer就要花非常久的時間做training,且很容易training到爆炸(有些神經元會training到變成NaN).經過經過專家長年的努力,發明了很多的小撇步(trick),讓現在的類神經網路能夠有更多的hidden layer且training的時間在可以接受的範圍內,更不會training到爆炸.甚至,近年來類神經網路已被證實在非常多的非常困難task上幾乎是接近最好的演算法選擇,像是language translation,image classification,speech understanding...在非結構化的data上表現得非常出色!
這邊提到了一個經驗談,
我們面臨到一個問題,例如"Predict stock out",我們很直覺可以用一個ML model直接解決這個問題.但實務上,應該是要把這個問題,根據bussiness model,拆分成許多小的問題,例如把
"Predict stock out"
差分成
1."Predict product demand"
2."Predict inventory"
3."Predict restocking time"
並分別用不同的ML model來解決
當然,不同的產品要訓練不同的model,不可能共用(難不成你拿預測電子產品需求的model去預測牛奶?)